package com.tanjun.userservice.web.service.user.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import com.tanjun.common.enums.EnableStatusEnum;
import com.tanjun.data.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;

/**
 * 管理员部门表 实体类。
 *
 * @author tanjun
 * @since 2025-08-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Table("base_admin_dept")
public class BaseAdminDeptEntity extends BaseEntity implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @Id(keyType = KeyType.Auto)
    private Long id;

    /**
     * 部门编码
     */
    private String deptCode;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 父级id
     */
    private Long parentId;

    /**
     * 父级全路径
     */
    private String fullParentId;

    /**
     * 层级(从1开始)
     */
    private Integer level;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 状态(1:可用 0：不可不用)
     */
    private EnableStatusEnum status;

}
